# -*- coding: UTF8 -*-
#关于时间序列计算函数的关系方程
import os
import random
import time
from datetime import timedelta, datetime

import pandas as pd


def str_date(DATE):
    
    data = pd.Timestamp(DATE, tz=None).to_pydatetime()

    return str(data.year) + "年" + str(data.month) + \
        '月' + str(data.day) + '日'


class DateRelex(object):
    
    def __init__(self, DIR_DTAT) -> None:

        self.DIR_DTAT = DIR_DTAT

        self.dir_data_main = self.ARIMA()

        self.dir_data3 = self.dir_data_main[0]

        self.DIR_DTAT4 = self.RELEX_DATE(self.dir_data3, -1)

        self.DIR_DTAT5 = self.dir_data_main[1]

        self.DIR_DTAT6 = self.RELEX_DATE(self.DIR_DTAT5, -1)

        self.DIR_DTAT7 = self.dir_data_main[2]

        self.DIR_DTAT8 = self.RELEX_DATE(self.DIR_DTAT7, -1)

        self.DIR_DTAT9 = self.dir_data_main[3]

        self.DIR_DTAT10 = self.RELEX_DATE(self.DIR_DTAT9, -1)

        rday1 = random.randint(3, 6)

        self.DIR_DTAT2 = self.RELEX_DATE(self.DIR_DTAT8, -rday1)

        self.DIR_DTAT1 = self.RELEX_DATE(self.DIR_DTAT2, -1)

        rday2 = random.randint(15, 28)

        # 有的是先模板后钢筋，有的是先钢筋后模板
        self.ARIMA_INFO = {
            '模板报审时间': str_date(self.DIR_DTAT1),
            '模板安装时间': str_date(self.DIR_DTAT2),
            '钢筋原材料报审时间': str_date(self.DIR_DTAT4),
            '钢筋原材料检查时间': str_date(self.dir_data3),
            '钢筋加工报审时间': str_date(self.DIR_DTAT6),
            '钢筋加工检查时间': str_date(self.DIR_DTAT5),
            '钢筋安装报审时间': str_date(self.DIR_DTAT8),
            '钢筋安装检查时间': str_date(self.DIR_DTAT7),
            '钢筋连接报审时间': str_date(self.DIR_DTAT10),
            '钢筋连接检查时间': str_date(self.DIR_DTAT9),
            '混凝土原材料报审时间': str_date(self.RELEX_DATE(self.DIR_DTAT, -1)),
            '混凝土原材料检查时间': str_date(self.DIR_DTAT),
            '混凝土施工报审时间': str_date(self.RELEX_DATE(self.DIR_DTAT, -1)),
            '混凝土施工检查时间': str_date(self.DIR_DTAT),
            '混凝土位置和尺寸偏差报审': str_date(self.RELEX_DATE(self.DIR_DTAT, rday2 - 1)),
            '混凝土位置和尺寸偏差检查': str_date(self.RELEX_DATE(self.DIR_DTAT, rday2)),
        }

        pass

    def RELEX_DATE(self, DIR_DTAT, nday):

        if nday >= 0:

            data = pd.to_datetime(DIR_DTAT) + timedelta(nday)

        else:
            nday = abs(nday)
            data = pd.to_datetime(DIR_DTAT) - timedelta(nday)

        return data

    def ARIMA(self):
        end_data = pd.to_datetime(self.DIR_DTAT) - timedelta(1)
        ari = pd.bdate_range(end=end_data, periods=6, freq='D')
        index = sorted(random.sample(range(6), 4))
        return [ari[n] for n in index]

    # print(ARIMA)


def TimeStampToTime(timestamp):
    return time.localtime(timestamp)


def get_FileCreateTime(filePath):
    # '''获取文件的创建时间'''
    # filePath = unicode(filePath,'utf8')
    t = os.path.getctime(filePath)
    return TimeStampToTime(t)


def judge_FileTodayCreate(new_file_path):
    if datetime.today().day == get_FileCreateTime(new_file_path).tm_mday:
        return True
    else:
        return False


#日期加减的函数



if __name__ == '__main__':
    pass
